Game device, game device control method, program, and information storage medium

ABSTRACT

To provide a game device having a character transformation function and in which prevention of unnatural display of change of posture and facial expression of a character object is realized while suppressing increase in an amount of data and an amount of work related to motion data. In the present invention, a skeleton part (joint or bone) which is set for a character object placed in a virtual three-dimensional space is rotated so that a position of a predetermined vertex of the character object changes from a first position to a second position. In the present invention, a player is guided to change at least one of the first position and the second position. In a case where at least one of the first position and the second position is changed by the player, the position of the skeleton part is corrected so that the position of the predetermined vertex of the character object changes from the first position to the second position in a case where the skeleton part is rotated by a predetermined angle (S 103 , S 104 ).

TECHNICAL FIELD

The present invention relates to a game device, a game device controlmethod, a program, and an information storage medium.

BACKGROUND ART

There is known a game device for displaying an image representing ascene obtained by viewing a virtual three-dimensional space in which acharacter object from a given viewpoint. For example, there is known agame device which realizes a soccer game by displaying an image of ascene obtained by viewing a virtual three-dimensional space in which acharacter object representing a soccer player is placed from a givenviewpoint.

In such a game device, in order to change the posture and the facialexpression of the character object, a plurality of skeleton parts areset for the character object. The skeleton comprises a joint whichcorresponds to a joint portion and a bone which connects between joints.To each joint and bone, at least some of vertices of polygons formingthe character object are correlated. When the states (position androtational angle) of the joint and the bone change, the positions of thevertices correlated to the joint and the bone change based on thechanges of the states of the joint and the bone. That is, the postureand the facial expression of the character object change.

FIG. 10 shows an example of a head portion 46 a of a character object46. FIGS. 11 and 12 show example states of an eye 50 of the characterobject 46. FIG. 11 shows a state where the eye 50 of the characterobject 46 is completely opened and FIG. 12 shows a state where the eye50 of the character object 46 is completely closed. Reference numeral 52represents an upper eyelid of the eye 50 of the character object 46, andreference numeral 56 represents a lower eyelid of the eye 50 of thecharacter object 46. In addition, reference numeral 54 represents arepresentative vertex among the vertices of the upper eyelid 52, andreference numeral 58 represents a representative vertex among thevertices of the lower eyelid 56.

FIG. 13 shows an example of a skeleton which is set for the characterobject 46 comprising a plurality of polygons. FIG. 13 shows a joint 60for controlling opening and closing of the eye 50 of the characterobject 46. In the character object 46, for example, a joint, a bone, orthe like for controlling opening and closing of the mouth of thecharacter object 46 are also set, but these are not shown in FIG. 13.

To the joint 60, for example, vertices (representative vertex 54 or thelike) of the upper eyelid 52 of the character object 46 are correlated.The positions of the vertices of the upper eyelid 52 change according tothe state (rotational angle) of the joint 60. In other words, thevertices of the upper eyelid 52 move according to the joint 60. FIG. 14is a diagram for explaining a relationship between the upper eyelid 52of the character object 46 and the joint 60. In the state where the eye50 of the character object 46 is completely opened (refer to FIG. 11),if the joint 60 rotates with the X axis as a rotational axis, in an Adirection (refer to FIG. 13), by a predetermined angle θc (for example,30°), the upper eyelid 52 of the character object 46 moves to the lowereyelid 56. For example, the representative vertex 54 (predeterminedvertex) of the upper eyelid 52 moves from a base position (firstposition) to a position (second position) of the representative vertex58 of the lower eyelid 56. Thus, a state where the eye 50 of thecharacter object 46 is completely closed is realized (refer to FIG. 12).On the other hand, in the state where the eye 50 of the character object46 is completely closed (refer to FIG. 12), if the joint 60 rotates withthe X axis as the rotational axis, in a direction opposite to the Adirection (refer to FIG. 13), and by a predetermined angle θc (forexample, 30°), the upper eyelid 52 of the character object 46 returns tothe base position. In other words, the state returns to a state wherethe eye 50 of the character object 46 is completely open (refer to FIG.11).

In the above-described game device, the joint and the bone arecontrolled by motion data. The motion data is data defining changes ofstates of the joint and bone in a case where the posture and facialexpression of the character object 46 are changed. For example, themotion data during closing of the eye 50 of the character object 46 isdata defining a change of the rotational angle of the joint 60 for everypredetermined period (for example, every 1/60^(th) of a second). Themotion data is, for example, the data indicating that the joint 60 isgradually rotated with the X axis as the rotational axis, in the Adirection, until the rotational angle of the joint 60 reaches apredetermined angle θc (for example, 30°). With the joint 60 rotatingaccording to the motion data, the scene of the character object 46closing the eye 50 is shown on the game screen.

In addition, the game device as described above may sometimes have acharacter transformation function, that is, a function to allow a playerto change a model shape of the character object 46. For example, in somecases, the player can change the size (narrowness) of the eye 50 of thecharacter object 46.

[Patent Document] JP 2007-082677 A

DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention

In a case where the model shape of the character object 46 is changed bythe player through the character transformation function as describedabove, the changes of the posture and the facial expression of thecharacter object 46 may appear unnatural.

For example, in a case where the narrowness of the eye 50 of thecharacter object 46 (length of the eye 50 in the vertical direction) ischanged, the rotational angle of the joint 60 required for the change ofthe eye 50 of the character object 46 from the completely open state tothe completely closed state would also change. Here, it is assumed thatthe rotational angle of the joint 60 necessary for the eye 50 of thecharacter object 46 to change from the completely open state to thecompletely closed state is 30° for the case where the eye 50 of thecharacter object 46 has an initial shape (shape before the change by theplayer). For example, in a case where the eye 50 of the character object46 is transformed to a shape narrower than the initial shape, if thejoint 60 is rotated with the X axis as the rotational axis, in the Adirection, and by 30°, the upper eyelid 52 may penetrate through thelower eyelid 56. Alternatively, for example, in a case where the eye 50of the character object 46 is set larger than the initial shape, the eye50 of the character object 46 would not be put in the completely closedstate with only the rotation of the joint 60 with the X axis as therotational axis and by 30°. In either case, the player may feel animpression that the scene of the closing of the eye 50 of the characterobject 46 is unnatural.

As a method of reducing the above-described disadvantage, a method maybe considered in which a plurality of types of motion data are preparedaccording to the narrowness of the eye 50, and the motion data used in acase where the eye 50 of the character object 46 is closed. However, inthis case, the amount of data of the motion data is increased and theamount of work related to the motion data generation is also increased.

The present invention was conceived in view of the above-describedcircumstances, and an advantage of the present invention is that a gamedevice, a game device control method, a program, and an informationstorage medium are provided which can prevent unnaturalness of thechanges of the posture and facial expression of the character object ina game device having a character transformation function whilesuppressing the increase in the amount of data and amount of workrelated to the motion data.

Means for Solving the Problems

In order to attain the above described object, a game device accordingto the present invention is a game device in which a skeleton part whichis set for a character object placed in a virtual three-dimensionalspace is rotated so that a position of a predetermined vertex of thecharacter object changes from a first position to a second position, thegame device comprising guiding means for guiding a player to change atleast one of the first position and a second position, and correctingmeans for correcting, in a case where at least one of the first positionand the second position is changed by the player, a position of theskeleton part so that the position of the predetermined vertex of thecharacter object changes from the first position to the second positionin a case where the skeleton part is rotated by a predetermined angle.

Also, a game device control method according to the present invention isa method of controlling a game device in which a skeleton part which isset for a character object placed in a virtual three-dimensional spaceis rotated so that a position of a predetermined vertex of the characterobject changes from a first position to a second position, the methodcomprising a guiding step in which a player is guided to change at leastone of the first position and the second position, and a correcting stepin which, in a case where at least one of the first position and thesecond position is changed by the player, the position of the skeletonpart is corrected so that the position of the predetermined vertex ofthe character object changes from the first position to the secondposition in a case where the skeleton part is rotated by a predeterminedangle.

Also, a program according to the present invention is a program forcausing a computer such as a consumer game device, a portable gamedevice, a commercial game device, a portable phone, a personal digitalassistant (PDA), and a personal computer to function as a game device inwhich a skeleton part which is set for a character object placed in avirtual three-dimensional space is rotated so that a position of apredetermined vertex of the character object changes from a firstposition to a second position, the program for causing the computer tofunction as guiding means for guiding a player to change at least one ofthe first position and the second position, and correcting means forcorrecting, in a case where at least one of the first position and thesecond position is changed by the player, a position of the skeletonpart so that the position of the predetermined vertex of the characterobject changes from the first position to the second position in a casewhere the skeleton part is rotated by a predetermined angle.

Also, a computer-readable information storage medium according to thepresent invention is a computer-readable information storage mediumwhich stores the above described program. A program distribution deviceaccording to the present invention is a program distribution devicewhich comprises an information storage medium which stores the abovedescribed program, which reads the program from the information storagemedium, and which distributes the program. A program distributing methodaccording to the present invention is a program distributing method inwhich the program is read from an information storage medium whichstores the above described program, and distributed.

The present invention relates to a game device in which a skeleton part(joint or bone) which is set for a character object placed in a virtualthree-dimensional space rotates so that a position of a predeterminedvertex of the character object changes from a first position to a secondposition. In the present invention, a player is guided to change atleast one of the first position and the second position. When at leastone of the first position and the second position is changed by theplayer, the position of the skeleton part is corrected so that aposition of the predetermined vertex of the character object changesfrom the first position to the second position in a case where theskeleton part is rotated by a predetermined angle. According to thepresent invention, in a game device having a character transformationfunction, it is possible to prevent unnaturalness of the change of theposture and the facial expression of the character object whilesuppressing the increases in the amount of data and the amount of workrelated to the motion data.

Also, according to one aspect of the present invention, the correctingmeans may comprise means for storing position correction data in which acondition related to at least one of the first position and the secondposition, and correction information which is a basis for correction ofthe position of the skeleton part, are correlated, and may correct theposition of the skeleton part based on the correction informationcorresponding to the condition satisfied by at least one of the firstposition and the second position in a case where at least one of thefirst position and the second position is changed by the player.

Also, according to one aspect of the present invention, the conditionmay be a condition related to a distanced between the first position andthe second position.

Also, according to one aspect of the present invention, the correctioninformation may be information indicating a movement distance of theskeleton part in a predetermined direction, and the correcting means maymove the skeleton part in the predetermined direction by a movementdistance indicated by the correction information corresponding to thecondition satisfied by at least one of the first position and the secondposition.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing a hardware structure of a game deviceaccording to an embodiment of the present invention.

FIG. 2 is a diagram showing an example of a virtual three-dimensionalspace.

FIG. 3 is a diagram showing an example of a character transformationscreen.

FIG. 4 is a diagram for explaining a transformation of an eye of acharacter object.

FIG. 5 is a diagram showing an example of position correction data of ajoint.

FIG. 6 is a diagram for explaining a method of determining a value of aposition correction parameter.

FIG. 7 is a diagram for explaining a method of determining a value of aposition correction parameter.

FIG. 8 is a flowchart showing a process executed by a game device.

FIG. 9 is a diagram showing an overall structure of a programdistribution system according to another embodiment of the presentinvention.

FIG. 10 is a diagram showing an example of an outer appearance of acharacter object.

FIG. 11 is a diagram showing an example of a state of an eye of acharacter object.

FIG. 12 is a diagram showing an example of a state of an eye of acharacter object.

FIG. 13 is a diagram showing an example of a skeleton which is set in acharacter object.

FIG. 14 is a diagram for explaining a relationship between an uppereyelid and a joint of a character object.

BEST MODE FOR CARRYING OUT THE INVENTION

An embodiment of the present invention will now be described in detailwith reference to the drawings. A game device according to theembodiment of the present invention is realized, for example, with aconsumer game device, a portable game device, a portable phone, apersonal digital assistant (PDA), or a personal computer. Here, anexample configuration in which the game device according to theembodiment of the present invention is realized with a consumer gamedevice is described.

FIG. 1 is a diagram showing an overall structure of a game deviceaccording to the embodiment of the present invention. A game device 10shown in FIG. 1 comprises a consumer game device 11, a monitor 32, aspeaker 34, and an optical disc 36. The monitor 32 and the speaker 34are connected to the consumer game device 11. As the monitor 32, forexample, a consumer television receiver is used. As the speaker 34, forexample, a speaker built into the consumer television receiver is used.The optical disc 36 is an information storage medium, and is equipped inthe consumer game device 11.

The consumer game device 11 is a known computer game system. Theconsumer game device 11 comprises a bus 12, a microprocessor 14, a mainmemory 16, an image processing unit 18, an input/output processing unit20, a sound processing unit 22, an optical disc reading unit 24, a harddisk 26, a communication interface 28, and a controller 30. Theconstituent elements other than the controller 30 are stored in ahousing of the consumer game device 11.

The bus 12 is provided for exchange of addresses and data among theelements of the consumer game device 11. The microprocessor 14, the mainmemory 16, the image processing unit 18, and the input/output processingunit 20 are connected by the bus 12 to allow mutual data communication.

The microprocessor 14 controls the elements of the consumer game device11 based on an operating system stored in a ROM (not shown) and aprogram and data which are read from the optical disc 36 or the harddisk 26. The main memory 16 comprises, for example, a RAM. In the mainmemory 16, the program and data which are read from the optical disc 36or the hard disk 26 are written as necessary. The main memory 16 is alsoused as a work memory of the microprocessor 14.

The image processing unit 18 comprises a VRAM. The image processing unit18 draws a game screen on the VRAM based on image data which is sentfrom the microprocessor 14. The image processing unit 18 converts thegame screen into a video signal and outputs the video signal to themonitor 32 at a predetermined timing.

The input/output processing unit 20 is an interface for themicroprocessor 14 to access the sound processing unit 22, the opticaldisc reading unit 24, the hard disk 26, the communication interface 28,and the controller 30. The sound processing unit 22, the optical discreading unit 24, the hard disk 26, the communication interface 28, andthe controller 30 are connected to the input/output processing unit 20.

The sound processing unit 22 comprises a sound buffer. In the soundbuffer, various sound data such as a game music, a game sound effect,and a message which are read from the optical disc 36 or the hard disk26 are stored. The sound processing unit 22 reproduces various sounddata stored in the sound buffer and outputs from the speaker 34.

The optical disc reading unit 24 reads the program and data recorded onthe optical disc 36 according to an instruction from the microprocessor14. In this configuration, the optical disc 36 is used for supplying theprogram and data to the consumer game device 11, but it is also possibleto supply the program and data to the consumer game device 11 using anyof other information storage media, such as a ROM card. In addition, theprogram and data may be supplied to the consumer game device 11 from aremote location through a communication network such as, for example,the Internet.

The hard disk 26 is a typical hard disk device (auxiliary storagedevice). The hard disk 26 stores program and data. For example, savedata or the like is stored in the hard disk 26. The communicationinterface 28 is an interface for connecting the consumer game device 11to a communication network such as the Internet in a wired or wirelessfashion.

The controller 30 is a general-purpose operation inputting unit throughwhich the player inputs various game operations. The input/outputprocessing unit 20 scans states of the elements of the controller 30every certain period (for example, every 1/60^(th) of a second). Theinput/output processing unit 20 sends an operation signal indicating thescan result through the bus 12 to the microprocessor 14. Themicroprocessor 14 determines the game operation of the player based onthe operation signal. A plurality of controllers 30 can be connected tothe consumer game device 11. The microprocessor 14 executes game controlbased on the operation signal which is input from the controllers 30.

In the game device 10 having the above-described structure, a gameprogram which is read from the optical disc 36 or the hard disk 26 isexecuted so that a game, for example, a soccer game, is realized.

A virtual three-dimensional space is constructed in the main memory 16of the game device 10. FIG. 2 shows an example of a virtualthree-dimensional space 40. As shown in FIG. 2, in the virtualthree-dimensional space 40, a soccer playing field is formed. That is, afield object 42 which represents a soccer field is placed in the virtualthree-dimensional space 40. A goal object 44 which represents a goal, acharacter object 46 which represents a soccer player, and a ball object48 which represents a soccer ball are placed on the field object 42.Although not shown in FIG. 2, 22 character objects 46 are placed in thevirtual three-dimensional space 40. In addition, in FIG. 2, thecharacter object 46 is simplified. The character object 46 has an outerappearance, for example, as shown in FIG. 10. Moreover, as shown in FIG.13, for example, the character object 46 comprises a plurality ofpolygons, and a plurality of skeleton parts are set in the characterobject 46. The skeleton comprises a joint which corresponds to a jointportion and a bone which connects between joints. In the characterobject 46, for example, a joint 60 or the like as shown in FIG. 13 isset.

A virtual camera 49 is placed in the virtual three-dimensional space 40.A game screen representing a scene obtained by viewing the virtualthree-dimensional space 40 from the virtual camera 49 is displayed onthe monitor 32. The player operates the character object 46 to beoperated using the controller 30 while viewing the game screen.

The soccer game has a character transformation function. FIG. 3 shows anexample of a character transformation screen. A character transformationscreen 70 shown in FIG. 3 is displayed by the microprocessor 14 (guidingunit) executing a program stored in the optical disc 36 or the hard disk26. The character transformation screen 70 is a screen for guiding theplayer to change the size (narrowness) of the eye 50 of the characterobject 46. In other words, the character transformation screen 70 is ascreen which guides the player to change positions of vertices(including the representative vertex 54 of the upper eyelid 52 and therepresentative vertex 58 of the lower eyelid 56) of the eye 50 of thecharacter object 46. In the following description, a shape of thecharacter object 46 before the transformation by the player, that is,the original shape of the eye 50 of the character object 46 generated bythe game developer (designer), is referred to as an “initial shape”.

The character transformation screen 70 includes a transformation resultdisplay region 72 and a transformation parameter display column 74. Atransformation result of the character object 46 is displayed in thetransformation result display region 72. A value of a transformationparameter indicating the degree of transformation of the characterobject 46 is displayed in the transformation parameter display column74. In the case of the present embodiment, the value of thetransformation parameter indicates how large or how narrow the eye 50 ofthe character object 46 is to be set.

When the value of the transformation parameter is less than 0, the eye50 of the character object 46 becomes narrower than the initial shape.When, on the other hand, the value of the transformation parameter islarger than 0, the eye 50 of the character object 46 becomes larger thanthe initial shape. As the value of the transformation parameter isreduced, the eye 50 of the character object 46 is narrowed, and as thevalue of the transformation parameter is increased, the eye 50 of thecharacter object 46 is enlarged. When the value of the transformationparameter is 0, the eye 50 of the character object 46 is set at theinitial shape.

For example, every time the player presses an upward directioninstruction button of the controller 30, the value of the transformationparameter displayed in the transformation parameter display column 74 isincremented by 1. Similarly, for example, every time the player pressesa downward direction instruction button of the controller 30, thetransformation parameter value displayed in the transformation parameterdisplay column 74 is decremented by 1.

When the value of the transformation parameter is increased ordecreased, the image of the character object 46 displayed in thetransformation result display region 72 is updated. In this case, thesize (narrowness) of the eye 50 of the character object 46 is updated ina manner described below.

FIG. 4 is a diagram for explaining update of the size (narrowness) ofthe eye 50 of the character object 46. FIG. 4 shows a case where thetransformation parameter is less than 0. In FIG. 4, reference numeral 52a represents the upper eyelid 52 when the eye 50 of the character object46 has the initial shape, and reference numeral 54 a represents aposition (initial position) of the representative vertex 54 when the eye50 of the character object has the initial shape. Similarly, referencenumeral 56 a represents the lower eyelid 56 when the eye 50 of thecharacter object 46 has the initial shape, and reference numeral 58 arepresents a position (initial position) of the representative vertex 58when the eye 50 of the character object 46 has the initial shape.

When the transformation parameter p is less than 0, as shown in FIG. 4,the position of the representative vertex 54 of the upper eyelid 52 isupdated to a position moved from the initial position 54 a of therepresentative vertex 54 in the downward direction by (|p|*ΔH). |p|represents an absolute value of the transformation parameter p and ΔH isa constant. In this case, the positions of other vertices of the uppereyelid 52 are also updated according to the position of therepresentative vertex 54. In addition, the position of therepresentative vertex 58 of the lower eyelid 56 is updated to a positionmoved from the initial position 58 a of the representative vertex 58 inan upward direction by (|p|*ΔH). In this case, the positions of theother vertices of the lower eyelid 56 are also updated according to theposition of the representative vertex 58. As a result, a length Hbetween the representative vertex 54 of the upper eyelid 52 and therepresentative vertex 58 of the lower eyelid 56 of the character object46 is shortened by (2*|p|*ΔH) compared to a length H0 in the case wherethe eye 50 of the character object 46 has the initial shape. In otherwords, the length in the vertical direction of the eye 50 of thecharacter object 46 is shortened, and the eye 50 of the character object46 is narrowed.

When, on the other hand, the transformation parameter p is larger than0, the position of the representative vertex 54 of the upper eyelid 52is updated to a position moved from the initial position 54 a of therepresentative vertex 54 in the upward direction by (|p|*ΔH). In thiscase, the positions of the other vertices of the upper eyelid 52 arealso updated according to the position of the representative vertex 54.In addition, the position of the representative vertex 58 of the lowereyelid 56 is updated to a position moved from the initial position 58 aof the representative vertex 58 in the downward direction by (|p|*ΔH).In this case, the positions of the other vertices of the lower eyelid 56are also updated according to the position of the representative vertex58. As a result, the length H between the representative vertex 54 ofthe upper eyelid 52 of the character object 46 and the representativevertex 58 of the lower eyelid 56 is extended by (2*|p|*ΔH) compared tothe length H0 in the case where the eye 50 of the character object 46has the initial shape. In other words, the length of the eye 50 of thecharacter object 46 is extended in the vertical direction.

When the player presses a decision button of the controller 30 in thecharacter transformation screen, the data indicating the transformationresult is stored in the hard disk 26. For example, the value of thetransformation parameter which is set by the player is stored in thehard disk 26. In addition, vertex data of the character object 46 afterthe transformation by the player are also stored in the hard disk 26.From this point on, the vertex data of the character object 46 after thetransformation stored in the hard disk 26 is used when the game screenis generated. The character object 46 transformed by the player isdisplayed in the game screen.

Next, a technique for preventing an unnatural display of a scene of thecharacter object 46 closing the eye 50 even when the size (narrowness)of the eye 50 of the character object 46 is changed, while suppressingthe increase in the amount of data and amount of work related to themotion data, will be described.

First, the data to be stored in the game device 10 (optical disc 36 orhard disk 26) will be described. Motion data for closing the eye 50 ofthe character object 46 and position correction data of the joint 60 arestored in the game device 10.

The motion data for closing the eye 50 of the character object 46 isdata which defines a change of a rotational angle (rotational angle inthe A direction with the X axis as the rotational axis) of the joint 60at every predetermined period (for example, every 1/60^(th) of a second)in the case where the character object 46 closes the eye 50. In thepresent embodiment, one motion data for closing the eye 50 of thecharacter object 46 is stored. In addition, the motion data is dataindicating a gradual rotation of the joint 60 in the A direction withthe X axis as the rotational axis until the rotational angle of thejoint 60 reaches a predetermined angle θc (for example, 30°).

FIG. 5 shows an example of position correction data of the joint 60. Asshown in FIG. 5, the position correction data of the joint 60 is data inwhich a transformation parameter p and a position correction parameterΔl (correction information) are correlated. The position correctionparameter Δl is a parameter which indicates how far the position of thejoint 60 is to be moved in the positive or negative direction along theZ axis.

Because the base positions of the representative vertex 54 of the uppereyelid 52 and the representative vertex 58 of the lower eyelid 56 of thecharacter object 46 (first position and second position) are determinedbased on the value of the transformation parameter p as described above,the position correction data shown in FIG. 5 can be considered as datain which conditions related to the base positions of the representativevertex 54 of the upper eyelid 52 and the representative vertex 58 of thelower eyelid 56 and the position correction parameter Δl are correlated.In addition, as described above, when, for example, the value of thetransformation parameter p is less than 0, a distance H between therepresentative vertex 54 of the upper eyelid 52 and the representativevertex 58 of the lower eyelid 56 of the character object 46 is(H0−2*|p|*ΔH), as shown in FIG. 4. When, for example, the transformationparameter p is larger than 0, the distance H between the representativevertex 54 of the upper eyelid 52 and the representative vertex 58 of thelower eyelid 56 of the character object 46 is (H0+2*|p|*ΔH). Because ofthis, the position correction data shown in FIG. 5 may also beconsidered as data in which a condition related to the distance betweenthe representative vertex 54 of the upper eyelid 52 and therepresentative vertex 58 of the lower eyelid 56 and the positioncorrection parameter Δl are correlated.

Next a method of determining the value of the position correctionparameter Δl corresponding to the value of the transformation parameterp will be described. FIG. 6 shows a method of determining the value ofthe position correction parameter Δl when the transformation parameter pis less than 0. FIG. 7 shows a method of determining the value of theposition correction parameter Δl when the transformation parameter p islarger than 0. Similar to FIG. 4, reference numeral 54 a indicates theposition (initial position) of the representative vertex 54 of the uppereyelid 52 when the eye 50 of the character object 46 has the initialshape and reference numeral 58 a indicates the position (initialposition) of the representative vertex 58 of the lower eyelid 56 whenthe eye 50 of the character object 46 has the initial shape. Referencenumeral 60 a indicates an initial position of the joint 60. The initialposition of the joint 60 refers to a position of the joint 60 before theposition of the joint 60 is corrected. That is, the initial position ofthe joint 60 is an original position of the joint 60 which is set by thegame developer (designer).

When the value of the position correction parameter Δl corresponding tothe value of the transformation parameter p is determined, first, atransformed position 54 b of the representative vertex 54 of the uppereyelid 52 and a transformed position 58 b of the representative vertex58 of the lower eyelid 56 are acquired. When the transformationparameter p is less than 0, the transformed position 54 b of therepresentative vertex 54 of the upper eyelid 52 is at a position movedfrom the initial position 54 a of the representative vertex 54 in thedownward direction (negative direction along Y axis) by (|p|*ΔH). Thetransformed position 58 b of the representative vertex 58 of the lowereyelid 56 is at a position moved from the initial position 58 a of therepresentative vertex 58 in the upward direction (positive directionalong Y axis) by (|p|*ΔH). When, on the other hand, the transformationparameter p is greater than 0, the transformed position 54 b of therepresentative vertex 54 of the upper eyelid 52 is at a position movedfrom the initial position 54 a of the representative vertex 54 in theupward direction (positive direction along Y axis) by (|p|*ΔH). Thetransformed position 58 b of the representative vertex 58 of the lowereyelid 56 is at a position moved from the initial position 58 a of therepresentative vertex 58 in the downward direction (negative directionalong Y axis) by (|p|*ΔH).

After the transformed position 54 b of the representative vertex 54 ofthe upper eyelid 52 and the transformed position 58 b of therepresentative vertex 58 of the lower eyelid 56 are acquired, a positionof the joint 60 which satisfies the following condition is acquired as acorrection target position 60 b. Specifically, a position of the joint60 which results in the representative vertex 54 of the upper eyelid 52being moved from the transformed position 54 b of the representativevertex 54 to the transformed position 58 b of the representative vertex58 in the case where the joint 60 is rotated with the X axis as therotational axis, in the A direction, and by a predetermined angle θc(for example, 30°), is acquired as the correction target position 60 b.In the case of the present embodiment, the correction target position 60b of the joint 60 is acquired by moving the joint 60 from the initialposition 60 a in the positive or negative direction along the Z axis.

After the correction target position 60 b of the joint 60 is acquired,next, a difference between the correction target position 60 b of thejoint 60 and the initial position 60 a of the joint 60 is acquired asthe position correction parameter Δl. When the correction targetposition 60 b of the joint 60 is at a positive direction side along theZ axis from the initial position 60 a of the joint 60, the positioncorrection parameter Δl is set to a positive value. When the correctiontarget position 60 b of the joint 60 is at a negative direction sidealong the Z axis from the initial position 60 a of the joint 60, theposition correction parameter Δl is set to a negative value.

The value of the position correction parameter Δl corresponding to thevalue of the transformation parameter p is determined in theabove-described manner, and the position correction data of the joint 60is generated. The position correction data of the joint 60 may be datain a table format or data in an equation format. Alternatively, theposition correction data of the joint 60 may be data in a format that isa combination of data in table format and data in equation format.

Next, a process executed by the game device 10 will be described. FIG. 8is a flowchart showing a process which is executed in the case where thedecision button is pressed in the character transformation screen 70.The microprocessor 14 executes a process shown in FIG. 8 according to aprogram stored in the optical disc 36 or the hard disk 26.

As shown in FIG. 8, the microprocessor 14 acquires a value of thetransformation parameter which is input by the player in the charactertransformation screen 70 (S101). In this case, the microprocessor 14stores the value of the transformation parameter which is input by theplayer in the hard disk 26.

Then, the microprocessor 14 changes the positions of the vertices of theeye 50 of the character object 46 based on the value of thetransformation parameter acquired in S101 (S102). That is, themicroprocessor 14 transforms the eye 50 of the character object 46 basedon the value of the transformation parameter acquired in S101.

For example, if the transformation parameter p is less than 0, themicroprocessor 14 updates the position of the representative vertex 54of the upper eyelid 52 of the character object 46 to a position movedfrom the initial position 54 a of the representative vertex 54 in thedownward direction by (|p|*ΔH) (refer to FIG. 4). The microprocessor 14also updates the positions of the other vertices of the upper eyelid 52according to the position of the representative vertex 54 (refer to FIG.4). The microprocessor 14 updates the position of the representativevertex 58 of the lower eyelid 56 of the character object 46 to aposition moved from the initial position 58 a of the representativevertex 58 in the upward direction by (|p|*ΔH) (refer to FIG. 4). Themicroprocessor 14 also updates the positions of the other vertices ofthe lower eyelid 56 according to the position of the representativevertex 58 (refer to FIG. 4).

On the other hand, if, for example, the transformation parameter p isgreater than 0, the microprocessor 14 updates the position of therepresentative vertex 54 of the upper eyelid 52 of the character object46 to a position moved from the initial position 54 a of therepresentative vertex 54 in the upward direction by (|p|*ΔH). Themicroprocessor 14 also updates the positions of the other vertices ofthe upper eyelid 52 according to the position of the representativevertex 54. The microprocessor 14 updates the position of therepresentative vertex 58 of the lower eyelid 56 of the character object46 to a position moved from the initial position 58 a of therepresentative vertex 58 in the downward direction by (|p|*ΔH). Themicroprocessor 14 also updates the positions of the other vertices ofthe lower eyelid 56 according to the position of the representativevertex 58.

The microprocessor 14 stores the vertex data of the character object 46after the transformation in the hard disk 26.

The microprocessor 14 (correcting means) also acquires the value of theposition correction parameter corresponding to the value of thetransformation parameter acquired in S101, based on the positioncorrection data of the joint 60 (refer to FIG. 5) (S103). Then, themicroprocessor 14 (correcting means) corrects the position of the joint60 based on the position correction parameter acquired in S103 (S104).More specifically, the microprocessor 14 adds the value of the positioncorrection parameter acquired in S103 to the initial position(coordinate value of Z axis) of the joint 60, to acquire the correctionposition of the joint 60. In this case, the position of the joint 60 iscorrected such that the representative vertex 54 of the upper eyelid 52of the character object 46 would move from the base position (firstposition) to the position (second position) of the representative vertex58 of the lower eyelid 56 in a case where the joint 60 is rotated by apredetermined angle θc (for example, 30°). The microprocessor 14 storesthe position data after correction of the joint 60 in the hard disk 26.

If the correction of the position of the joint 60 is completed, thepresent process is completed. From this point on, the game screen wherethe character object 46 appears is generated based on the vertex data ofthe character object 46 after transformation and the position data ofthe joint 60 after correction, which are stored in the hard disk 26. Asa result, the character object 46 with the size (narrowness) of the eye50 changed by the player is displayed on the game screen.

In the game device 10, in a case where the size (narrowness) of the eye50 of the character object 46 is changed by the player, the position ofthe joint 60 for controlling opening and closing of the eye 50 ischanged. The correction of the position of the joint 60 is executedbased on the position correction data shown in FIG. 5. As a result, evenwhen the size (narrowness) of the eye 50 of the character object 46 ischanged, if the motion data (motion data for closing the eye 50 of thecharacter object 46) is reproduced, that is, if the joint 60 is rotatedwith the X axis as the rotational axis, in the A direction, and by apredetermined angle θc (for example, 30°), the upper eyelid 52 moves tothe lower eyelid 56. For example, the representative vertex 54 of theupper eyelid 52 (predetermined vertex) moves from the base position(first position) to the position (second position) of the representativevertex 58 of the lower eyelid 56. For example, even in the case wherethe eye 50 of the character object 46 is transformed to be narrower thanthe initial shape, if the joint 60 is rotated by a predetermined angleθc (for example, 30°), the upper eyelid 52 does not penetrate throughthe lower eyelid 56. In addition, for example, even in the case wherethe eye 50 of the character object 46 is set larger than the initialshape, if the joint 60 is rotated by a predetermined angle θc (forexample, 30°), the eye 50 of the character object 46 can be set to thecompletely closed state. In other words, in a case where the motion datais reproduced, the eye 50 always preferably changes from the completelyopen state to the completely closed state.

As described, with the game device 10, it is possible to preventunnatural display of the scene of the character object 46 closing theeye 50 even when the size (narrowness) of the eye 50 of the characterobject 46 is changed.

In addition, with the game device 10, it is not necessary to prepare aplurality of types of motion data corresponding to the size (narrowness)of the eye 50 of the character object 46. In other words, the increasein the amount of data and amount of work related to the motion data issuppressed.

The present invention is not limited to the above-described preferredembodiment.

For example, the present invention can be applied to cases other thanpreventing the unnatural display of the scene of the character object 46closing the eye 50 even when the size (narrowness) of the eye 50 of thecharacter object 46 is changed. For example, the present invention canbe applied to a case of preventing unnatural display of the characterobject 46 closing the mouth even when the size of the mouth of thecharacter object 46 is changed.

Alternatively, for example, the present invention can be applied togames different from the soccer game.

In addition, for example, in the above description, the program issupplied from the optical disc 36, which is an information storagemedium, to the consumer game device 11. However, the program may bedistributed to the home or the like through a communication network.FIG. 9 is a diagram showing an overall structure of a programdistribution system which uses a communication network. A programdistribution method according to the present invention will be describedwith reference to FIG. 9. As shown in FIG. 9, the program distributionsystem 100 comprises a game database 102, a server 104, a communicationnetwork 106, a personal computer 108, a consumer game device 110, and aPDA (Personal Digital Assistant) 112. Of these, the game database 102and the server 104 form a program distribution device 114. Thecommunication network 106 comprises, for example, the Internet and acable television network. In this system, a program similar to thestored content of the optical disc 36 is stored in the game database(information storage medium) 102. When the demander requestsdistribution of a game using the personal computer 108, the consumergame device 110, the PDA 112, or the like, the request is transmittedthrough the communication network 106 to the server 104. The server 104reads the program from the game database 102 in response to the gamedistribution request, and transmits the program to the game distributionrequesting device such as the personal computer 108, the consumer gamedevice 110, the PDA 112, or the like. In the described example, the gameis distributed in response to the game distribution request, but it isalso possible to transmit the game from the server 104 in a one-sidedway. In addition, not all programs necessary for realizing the game needto be distributed at once (package distribution), and the necessaryportion may be distributed according to the phase of the game (splitdistribution). By distributing the game via the communication network106 in this manner, it is possible for the demander to easily obtain theprogram.

The invention claimed is:
 1. A game device in which a skeleton partwhich is set for a character object placed in a virtualthree-dimensional space is rotated so that a position of a vertex of thecharacter object changes from a first position to a second position, thegame device comprising: guiding means for guiding a player to change atleast one of the first position and the second position by inputting atransformation parameter; and correcting means for correcting, in a casewhere at least one of the first position and the second position ischanged by the player inputting the transformation parameter, a positionof the skeleton part indicative of a joint so that the position of thevertex of the character object changes from the first position to thesecond position in a case where the skeleton part is rotated by anangle, wherein the transformation parameter input by the player via theguiding means indicates a transformation in a size of a body part of thecharacter object, and wherein the correcting means corrects the positionof the skeleton part based on position correction data in which acondition related to at least one of the first position and the secondposition, and correction information which is a basis for correction ofthe position of the skeleton part, are correlated, wherein thecorrecting means corrects the position of the skeleton part based on thecorrection information corresponding to the condition satisfied by atleast one of the first position and the second position in a case whereat least one of the first position and the second position is changed bythe player.
 2. The game device according to claim 1, wherein thecondition is a condition related to a distance between the firstposition and the second position.
 3. The game device according to claim1, wherein the correction information is information indicating amovement distance of the skeleton part in a direction, and thecorrecting means moves the skeleton part in the direction by a movementdistance indicated by the correction information corresponding to thecondition satisfied by at least one of the first position and the secondposition.
 4. A method of controlling a game device in which a skeletonpart which is set for a character object placed in a virtualthree-dimensional space is rotated so that a position of a vertex of thecharacter object changes from a first position to a second position, themethod comprising: guiding, by a processor, a player to change at leastone of the first position and the second position by inputting atransformation parameter; and correcting, by the processor, in a casewhere at least one of the first position and the second position ischanged by the player inputting the transformation parameter, theposition of the skeleton part indicative of a joint so that the positionof the vertex of the character object changes from the first position tothe second position in a case where the skeleton is rotated by an angle,wherein the transformation parameter input by the player via the guidingmeans indicates a transformation in a size of a body part of thecharacter object, and wherein the position of the skeleton part iscorrected based on position correction data in which a condition relatedto at least one of the first position and the second position, andcorrection information which is a basis for correction of the positionof the skeleton part, are correlated, wherein the position of theskeleton part is corrected based on the correction informationcorresponding to the condition satisfied by at least one of the firstposition and the second position in a case where at least one of thefirst position and the second position is changed by the player.
 5. Acomputer program stored on a non-transitory computer-readable medium forcausing a computer to function as a game device in which a skeleton partwhich is set for a character object placed in a virtualthree-dimensional space is rotated so that a position of a vertex of thecharacter object changes from a first position to a second position, theprogram causing the computer to: guide a player to change at least oneof the first position and the second position by inputting atransformation parameter; and correct, in a case where at least one ofthe first position and the second position is changed by the playerinputting the transformation parameter, a position of the skeleton partindicative of a joint so that the position of the vertex of thecharacter object changes from the first position to the second positionin a case where the skeleton part is rotated by an angle, wherein thetransformation parameter input by the player via the guiding meansindicates a transformation in a size of a body part of the characterobject, and wherein the position of the skeleton part is corrected basedon position correction data in which a condition related to at least oneof the first position and the second position, and correctioninformation which is a basis for correction of the position of theskeleton part, are correlated, wherein the position of the skeleton partis corrected based on the correction information corresponding to thecondition satisfied by at least one of the first position and the secondposition in a case where at least one of the first position and thesecond position is changed by the player.
 6. A non-transitorycomputer-readable information storage medium which stores a program forcausing a computer to function as a game device in which a skeleton partwhich is set for a character object placed in a virtualthree-dimensional space is rotated so that a position of a vertex of thecharacter object changes from a first position to a second position, theprogram causing the computer to: guide a player to change at least oneof the first position and the second position by inputting atransformation parameter; and correct, in a case where at least one ofthe first position and the second position is changed by the playerinputting the transformation parameter, a position of the skeleton partindicative of a joint so that the position of the vertex of thecharacter object changes from the first position to the second positionin a case where the skeleton part is rotated by an angle, wherein thetransformation parameter input by the player via the guiding meansindicates a transformation in a size of a body part of the characterobject, and wherein the position of the skeleton part is corrected basedon position correction data in which a condition related to at least oneof the first position and the second position, and correctioninformation which is a basis for correction of the position of theskeleton part, are correlated, wherein the position of the skeleton partis corrected based on the correction information corresponding to thecondition satisfied by at least one of the first position and the secondposition in a case where at least one of the first position and thesecond position is changed by the player.
 7. The game device accordingto claim 2, wherein the correction information is information indicatinga movement distance of the skeleton part in a predetermined direction,and the correcting means moves the skeleton part in the predetermineddirection by a movement distance indicated by the correction informationcorresponding to the condition satisfied by at least one of the firstposition and the second position.
 8. The method of claim 4, wherein thecondition is a condition related to a distance between the firstposition and the second position.
 9. The method of claim 4, wherein thecorrection information is information indicating a movement distance ofthe skeleton part in a direction, and the correcting moves the skeletonpart in the direction by a movement distance indicated by the correctioninformation corresponding to the condition satisfied by at least one ofthe first position and the second position.
 10. The computer program onthe non-transitory medium of claim 5, wherein the condition is acondition related to a distance between the first position and thesecond position.
 11. The computer program on the non-transitory mediumof claim 5, wherein the correction information is information indicatinga movement distance of the skeleton part in a direction, and theskeleton part is moved in the direction by a movement distance indicatedby the correction information corresponding to the condition satisfiedby at least one of the first position and the second position.
 12. Thenon-transitory computer-readable information storage medium of claim 6,wherein the condition is a condition related to a distance between thefirst position and the second position.
 13. The non-transitorycomputer-readable information storage medium of claim 6, wherein thecorrection information is information indicating a movement distance ofthe skeleton part in a direction, and the skeleton part is moved in thedirection by a movement distance indicated by the correction informationcorresponding to the condition satisfied by at least one of the firstposition and the second position.
 14. The game device according to claim1, wherein the correcting means moves the position of the skeleton partin relation to the position of the vertex of the character objectaccording to an amount of the transformation parameter.
 15. The gamedevice according to claim 1, wherein the skeleton part is rotatedthrough a rotation angle so that a position of the vertex of thecharacter object changes from the first position to the second position,and wherein the correcting means moves a position of the skeleton partto a new position so that when the skeleton part is rotated through therotation angle the position of the vertex of the character objectchanges between the changed at least one first position and secondposition indicated by the guiding means.